Digital watermarking is a process for modifying physical or electronic media to embed a hidden machine-readable code into the media. The media may be modified such that the embedded code is imperceptible or nearly imperceptible to the user, yet may be detected through an automated detection process. Most commonly, digital watermarking is applied to media signals such as images, audio signals, and video signals. However, it may also be applied to other types of media objects, including documents (e.g., through line, word or character shifting), software, multi-dimensional graphics models, and surface textures of objects.
Digital watermarking systems typically have two primary components: an encoder that embeds the watermark in a host media signal, and a decoder that detects and reads the embedded watermark from a signal suspected of containing a watermark (a suspect signal). The encoder embeds a watermark by subtly altering the host media signal. The reading component analyzes a suspect signal to detect whether a watermark is present. In applications where the watermark encodes information, the reader extracts this information from the detected watermark.
Several particular watermarking techniques have been developed. The reader is presumed to be familiar with the literature in this field. Particular techniques for embedding and detecting imperceptible watermarks in media signals are detailed in the assignee's co-pending application Ser. No. 09/503,881 and U.S. Pat. No. 6,122,403, which are hereby incorporated by reference.
The invention provides methods and watermarking systems that embed and detect digital watermarks with radial and circumferential symmetry properties to make the watermarks robust to scaling and rotation.
One aspect of the invention is a method of digital watermark embedding in a two dimensional signal. This method generates a digital watermark signal carrying one more auxiliary data symbols to be embedded in the two dimensional signal. It embeds the digital watermark signal in the two dimensional signal such that the digital watermark has radial symmetry and circumferential symmetry. The circumferential symmetry enables detection of rotation of the digital watermark, and the radial symmetry enables detection of scaling of the digital watermark.
Another aspect of the invention is a method of detecting a symmetric digital watermark embedded in an image. The method computes radial symmetry in an embedding domain of the image to detect a radial symmetry property of the digital watermark. Based on the radial symmetry, it determines spatial scaling of the digital watermark as a function of rotation angle. It computes circumferential symmetry in an embedding domain to detect a circumferential symmetry property of the digital watermark. Based on use of the circumferential symmetry, it determines a rotation angle of the digital watermark.
By compensating for scale and rotation in this manner, the symmetry watermark is robust to rotation and scale. One particular implementation finds scale as a function of angle, which enables compensation for projective or perspective distortion. It then computes the rotation angle. The detector does not have to know the specific digital watermark signal, but instead, can proceed to detecting the radial and circumferential symmetries to compensate for rotation and scale. This digital watermark has self symmetries, such as mirror symmetry and/or symmetry through repetition of the signal, that enable geometric synchronization, and in addition, the symmetry watermark signal may be modulated with a variable data payload to carry variable data messages.
These digital watermark embedders and detectors may be implemented as software instructions, firmware, digital circuitry, or combinations thereof. In one software implementation, the embedder generates a digital watermark is generated with radial and circumferential symmetries in a particular domain of a host signal into which it is embedded, such as the frequency magnitude domain. These symmetries enable a detector to compute the projective transformation and rotation angle of the embedded signal using only the symmetry properties. The embedded signal is variable, such as a pseudorandom signal being modulated with a variable message payload, yet the scale and rotation of this variable signal is detectable based on its symmetry properties.